package cn.aws360.boot.system.biz.service;

import cn.aws360.boot.data.api.pojo.request.PageQuery;
import cn.aws360.boot.data.api.pojo.response.PageResult;
import cn.aws360.boot.system.api.pojo.request.SysDictItemQuery;
import cn.aws360.boot.system.api.pojo.request.SysDictItemWrite;
import cn.aws360.boot.system.api.pojo.response.SysDictItemModel;
import cn.aws360.boot.system.biz.domain.SysDictItem;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author junnan
 */
public interface SysDictItemService extends IService<SysDictItem> {

    /**
     * 新增子项
     *
     * @param sysDictItemWrite 新增子项参数
     * @return 是否成功
     */
    Boolean add(SysDictItemWrite sysDictItemWrite);

    /**
     * 修改子项
     *
     * @param sysDictItemWrite 修改子项参数
     * @return 是否成功
     */
    Boolean edit(SysDictItemWrite sysDictItemWrite);

    /**
     * 删除子项
     *
     * @param ids 删除子项 ids
     * @return 是否成功
     */
    Boolean remove(String ids);

    /**
     * 查询子项详情
     *
     * @param id 查询子项 id
     * @return SysDictItemModel
     */
    SysDictItemModel detail(Integer id);

    /**
     * 查询子项列表
     *
     * @param sysDictItemQuery 查询子项参数
     * @return List<SysDictItemModel>
     */
    List<SysDictItemModel> findList(SysDictItemQuery sysDictItemQuery);

    /**
     * 查询子项分页
     *
     * @param sysDictItemQuery 查询子项参数
     * @param pageQuery        查询分页参数
     * @return PageResult<SysDictItemModel>
     */
    PageResult<SysDictItemModel> findPage(SysDictItemQuery sysDictItemQuery, PageQuery pageQuery);

}
